<html>

<head>

<meta name="description" content="Panga Library Automation System">
<title>Panga Install Instructions</title>
<style type="text/css">
.notice {
  margin-left: 50px;
  margin-right: 50px;
  border: solid black 1px;
  background: #ffaaaa;
  padding: 4px;
}
h1 { border-bottom: solid black 1px }
th { text-align: right }
</style>
</head>
<body bgcolor="#ffffff" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" marginheight="0" marginwidth="0">
<div style="background: #bebdbe"><img src="images/obiblio_logo.gif" width="170" height="35" border="0" /></div>
<div style="padding: 8px">
<h1>Contents:</h1>
<ul>
    <li><a href="#releaseNotes">Release Notes</a></li>
    <li><a href="#install">Install Instructions (New Systems)</a></li>
    <li><a href="#update">Updating from a previous version of Panga</a></li>
</ul>

<a name="releaseNotes">
<h1>Release Notes:</h1>
</a>
<p>Panga 0.6.0 introduces a new reports and printing system.  This new system avoids
the privilege escalation security hole in the old reports system.</p>
<p>See the <a href="ChangeLog">ChangeLog</a> for more details.</p>
<p>Panga test suite ran successfully on the following configurations:</p>
<blockquote>
<table>
  <tr>
    <th>Operating System:</th>
    <td>Ubuntu 6.06.1 (GNU/Linux)</td>
    <td>Ubuntu 6.06.1 (GNU/Linux)</td>
    <td>Ubuntu 6.06.1 (GNU/Linux)</td>
  </tr>
  <tr>
    <th>PHP Version:</th>
    <td>5.1.2</td>
    <td>5.1.2</td>
    <td>5.1.2</td>
  </tr>
  <tr>
    <th>Web Server:</th>
    <td>lighttpd/1.4.8</td>
    <td>lighttpd/1.4.8</td>
    <td>lighttpd/1.4.8</td>
  </tr>
  <tr>
    <th>MySql Version:</th>
    <td>5.0.22</td>
    <td>5.0.22</td>
    <td>4.0.12</td>
  </tr>
  <tr>
    <th>Browser:</th>
    <td>Firefox 1.5.0.8</td>
    <td>MS Internet Explorer 6.0.2800.1106 (under Wine)</td>
    <td>Firefox 1.5.0.8</td>
  </tr>
</table>
</blockquote>
</li>
</ul>
<a name="install">
<h1>Install Instructions (New Systems):</h1>
</a>
<h3>Requirements</h3>
<ul>
<li>PHP version 4.2.0 or higher and a web server which supports it</li>
<li>MySQL version 4.0.12 or higher</li>
<li>A relatively modern web browser.  Versions of Internet Explorer before 6.0 may
  have problems with PDF files generated by Panga.  Users of Netscape 4.x and earlier
  may suffer from appearance problems.</li>
</ul>
<h3>Procedure</h3>
<ol>
  <li>Install a web server such as <a href="http://httpd.apache.org/">Apache</a> that is
     compatible with PHP.  If you install Apache, get familiar with starting 
     and stopping your Apache Web Server. If you are running Windows 95 or Windows 98 
     there will be "Start Apache" and "Stop Apache" icons that will help you start 
     and stop your web server. You may want to consider adding the "Start Apache" 
     icon to your startup folder. If you are running NT or Windows 2000 you can add Apache as a 
     service which will be running, even if you are logged off.  If you are running Linux
     your Apache server should be packaged with your Linux installation and will start when
     you start Linux.
  </li>
  <li>Add PHP to your web server as a CGI or a module.  If you are using Apache 2.0, I would highly
     recommend that you install PHP as a module instead of a cgi application.  In my experience the
     Apache PHP module performed over 4 times faster than the cgi PHP.  See 
     <a href="http://www.php.net/manual/en/install.apache2.php">Example 3-9. PHP and Apache 2.0 as Module</a>
     in the <a href="http://www.php.net/manual/en/">PHP Manual</a> for more info on how to install PHP
     as a module.
     <p>Panga uses session data.  Therefore, you will need to make sure PHP sessions are turned on.
     Be sure to create a directory for your session data on your server and specify the session.save_path
     in your php.ini file.  The default php.ini sets session.save_path to "/tmp".  Therefore, you have
     to create a directory called c:/tmp (for Windows) users.  However, I usually create a more descriptive name
     inside my PHP directory and then change my php.ini file to match it.
     <p>Example php.ini directive:
     <pre>session.save_path = d:\PHP\sessiondata</pre>
     
     <p>See section <a href="http://www.php.net/manual/en/ref.session.php">XCIII. Session handling functions</a>
     in the PHP manual for more details on PHP sessions.
  </li>
  <li>Install the MySQL database from <a href="http://www.mysql.com/">http://www.mysql.com/</a>.
     Get familiar with starting and stopping your MySQL Server.  See
     <a href="http://www.mysql.com/doc/W/i/Win95_start.html">Starting MySQL on Windows 95 or
     Windows 98</a> for more information.<br /><br />
     If you are running NT or Windows 2000, setup MySQL as a service so it starts whenever the machine
     powers up.  See <a href="http://www.mysql.com/doc/N/T/NT_start.html">Starting MySQL on Windows NT or Windows 2000</a>
     for more information on starting MySQL as a service.<br /><br />
     If you are running Linux, MySQL should be packaged with your Linux installation and will start when
     you start Linux.
  </li>

  <li>Get familiar with logging into MySQL with your admin account within a DOS prompt window.  You can use the following command sequence as a test.
<blockquote><pre>
C:\><b>c:\mysql\bin\mysql -uroot mysql</b>
Enter password: <b>*********</b>
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 8 to server version: 3.23.26-beta

Type 'help;' or '\h' for help. Type '\c' to clear the buffer

mysql> <b>show databases;</b>
+--------------+
| Database     |
+--------------+
| mysql        |
+--------------+
6 rows in set (0.00 sec)

mysql> <b>exit</b>
Bye

C:\>
</pre></blockquote>
  </li>     


  <a name="step4">
  <li>Create an Panga database.  To do this, log into MySQL with your admin account 
     and run the following SQL command.
     <blockquote><pre>
mysql> <b>create database Panga;</b>
</pre>
     To check to make sure the Panga database was created properly, run the following command.
<pre>
mysql> <b>show databases;</b>
+--------------+
| Database     |
+--------------+
| mysql        |
| Panga   |
+--------------+
</pre></blockquote>

  </li>
  </a>

  <a name="step5">
  <li>Create an Panga database user.  To do this, login to MySQL under the admin userid
    and run the following SQL command, substituting <i>obiblio_user</i> and <i>obiblio_password</i> with the userid and password of your choice.
<blockquote><pre>
mysql> <b>grant all privileges on Panga.* to <i>obiblio_user</i>@localhost</b>
    -> <b>identified by '<i>obiblio_password</i>';</b>
</pre></blockquote>
  </li>
  </a>

  <li>Verify your Panga database and user by logging into the new MySQL database under the new user.
<blockquote><pre>
<b>C:\mysql\bin\mysql -u<i>obiblio_user</i> -p<i>obiblio_password</i> Panga</b>
</pre></blockquote>
  </li>

  <a name="step7">
  <li>Copy the openbiblio directory and all of its contents into your web server's htdocs
    root or any subdirectory within the htdocs root.
  </li></a>
  <a name="step8">
  <li>Edit the database_constants.php file (located in the main openbiblio directory)
    with the text editor of your choice.
    Change the username and password to match the new MySQL user and password that you 
    created in the previous steps.
  </li></a>
  <li>Create the Panga database tables.  To do this run the install php script
   located at <a href="http://localhost/openbiblio/install/index.php">http://localhost/openbiblio/install/index.php</a>,
   assuming you placed the openbiblio directory in the root htdocs directory.
  </li>
  <li><strong>For security:</strong> Remove the openbiblio/install directory completely
    to prevent unauthorized use of install or upgrade tools.</li>
  <li><strong>For security:</strong> Verify that the <tt>display_errors</tt> setting in php.ini is 'Off'
    to prevent unintended information disclosure.</li>
  <li>Access your new library automation system at <a href="http://localhost/openbiblio/index.php">http://localhost/openbiblio/index.php</a>,
   assuming you placed the openbiblio directory in the root htdocs directory.  Enter
   "admin" for both the userid and password whenever you are prompted to signon.  You can
   change the admin password from the "Admin" tab -> staff list, where you can also add
   more library staff members.
  </li>
</ol>


<br />
<a name="update">
<h1>Updating from a previous version of Panga:</h1>
<div class="notice"><strong>IMPORTANT:</strong> Updates from Panga.de versions
(e.g. 0.5.1.7) must be performed manually at the moment.  The automatic upgrade
script does not know how to handle the database format differences.</div>
<ol>
  <li>Rename your old openbiblio installation directory
    so that you don't lose its contents.  We'll call the old directory openbiblio-old.
  </li>
  <li>Copy the new openbiblio directory and all of its contents into the directory where the old openbiblio installation was.
  </li>
  <li>Copy the database_constants.php file from the openbiblio-old directory into the new
    openbiblio directory, replacing the database_constants.php file there.
  </li>
  <li>Backup your database.  See your MySQL documentation for instructions.
  </li>
  <li>Update your Panga database tables by using the conversion tool located at
   <a href="http://localhost/openbiblio/install/index.php">http://localhost/openbiblio/install/index.php</a>,
   assuming you placed the openbiblio directory in the root htdocs directory.
  </li>
  <li><strong>For security:</strong> Remove the openbiblio/install directory completely
    to prevent unauthorized use of install or upgrade tools.</li>
  <li><strong>For security:</strong> Verify that the <tt>display_errors</tt> setting in php.ini is 'Off'
    to prevent unintended information disclosure.</li>
</ol>
</a>
</div>
</body>
</html>
